package com.hf.lookatme.commons;

import android.content.Context;
import android.os.IBinder;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;

/**
 * 描述：常用工具类
 * 创建人：JoeShiguang
 * 创建日期：2015.6.22
 * 修改人：
 * 修改日期：
 *
 * @Version 1.0
 */
public class CommonMethod {

  private static long lastClickTime;

  /**
   * 判断是否是快速点击
   *
   * @return true是快速点击 OR false不是
   */
  public static boolean isFastDoubleClick() {
    long time = System.currentTimeMillis();
    long timeD = time - lastClickTime;
    if (0 < timeD && timeD < 400) {
      return true;
    }
    lastClickTime = time;
    return false;
  }

  /**
   * 判断是否应该隐藏键盘
   *
   * @param view
   * @param event
   *
   * @return true OR false
   */
  public static boolean isShouldHideInput(View view, MotionEvent event) {

    if (view != null && (view instanceof EditText)) {

      int[] location = {0, 0};
      view.getLocationInWindow(location);
      int left = location[0], top = location[1], bottom = top + view.getHeight(), right = left + view.getWidth();

      return !(event.getRawX() > left && event.getRawX() < right && event.getY() > top && event.getY() < bottom);
    }
    // 如果焦点不是EditText则忽略，这个发生在视图刚绘制完，第一个焦点不在EditView上，和用户用轨迹球选择其他的焦点
    return false;
  }

  /**
   * 隐藏软键盘
   *
   * @param context
   *     context
   * @param token
   *     依附者
   */
  public static void hideSoftInput(Context context, IBinder token) {
    if (token != null) {
      InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
      if (inputMethodManager.isActive()) {
        inputMethodManager.hideSoftInputFromWindow(token, InputMethodManager.HIDE_NOT_ALWAYS);
      }
    }
  }


}
